import request from '@/config/axios'

// 工资标准管理 VO
export interface SalaryStandardVO {
  id: number // 编号
  userId: number // 员工编号
  userName: string // 员工名称
  years: number // 年份
  baseSalary: number // 基本工资
  positionSalary: number // 岗位工资
  probationSalary: number // 试用期工资
  remarks: string // 备注
}

// 生成工资标准请求 VO
export interface GenerateSalaryStandardReqVO {
  userId: number;
  userName: string;
  hireDate: string; // yyyy-MM-dd
  endDate?: string;
  salary: string; // BigDecimal用string
}

// 工资标准管理 API
export const SalaryStandardApi = {
  // 查询工资标准管理分页
  getSalaryStandardPage: async (params: any) => {
    return await request.get({ url: `/oa/salary-standard/page`, params })
  },

  // 查询工资标准管理详情
  getSalaryStandard: async (id: number) => {
    return await request.get({ url: `/oa/salary-standard/get?id=` + id })
  },

  // 新增工资标准管理
  createSalaryStandard: async (data: SalaryStandardVO) => {
    return await request.post({ url: `/oa/salary-standard/create`, data })
  },

  // 修改工资标准管理
  updateSalaryStandard: async (data: SalaryStandardVO) => {
    return await request.put({ url: `/oa/salary-standard/update`, data })
  },

  // 删除工资标准管理
  deleteSalaryStandard: async (id: number) => {
    return await request.delete({ url: `/oa/salary-standard/delete?id=` + id })
  },

  // 导出工资标准管理 Excel
  exportSalaryStandard: async (params) => {
    return await request.download({ url: `/oa/salary-standard/export-excel`, params })
  },

  // 生成工资标准
  generateSalaryStandard: async (data: GenerateSalaryStandardReqVO) => {
    return await request.post({ url: '/oa/salary-standard/generate-salary-standard', data })
  },
}
